"""
    2021-08-07  21:12   by  CYL
    pandas官网：
        https://pandas.pydata.org/pandas-docs/stable/
    openpyxl官网：
        https://openpyxl.readthedocs.io/en/stable/#
    python-excel工具说明：(内含xlwt、xlrd的东西)
        http://www.python-excel.org/
    文件说明：
    pandas.DataFrame与pands.Series(仅行索引)不同。
    pandas.DataFrame的数据形式更加接近于Excel，即DataFrame存在 行索引(x轴) 与 列索引(y轴)。

"""
import pandas
#   传入一个列表。
#   每个成员即为一行。
LIST_Y = ["hanhan","laotie","wura","niel"]
df1 = pandas.DataFrame(LIST_Y)
print("df1=\n",df1)

#   传入一个嵌套列表。
#   最小的那个列表元素为一行。
LIST_Y_X = [["H","Hanhan","debu"],["T","laotie","奇怪的丘丘人"],["D","demaxiya","诺克萨斯"],["W","wura"]]
df2 = pandas.DataFrame(LIST_Y_X)
print("df2=\n",df2)

#   上方为系统默认的DataFrame()的行、列索引。
#----------
#   下方为自定义设置DataFrame()的行、列索引。
#   参数columns为  自定义 列索引
#   参数index  为  自定义 行索引
TG_LIST_Y_X = [["H","Hanhan","debu"],["T","laotie","奇怪的丘丘人"],["D","demaxiya","诺克萨斯"],["W","wura"]]
TG_LIST_Columns = ["id","name","content"]
TG_LIST_Index = ["a0","a1","b0","b1"]
df3 = pandas.DataFrame(TG_LIST_Y_X,columns=TG_LIST_Columns) #   index为默认值，即从0开始
print("df3=\n",df3)
print("df3.columns=",df3.columns)       #获取df3的列索引
print("df3.index=",df3.index)           #获取df3的行索引
df4 = pandas.DataFrame(TG_LIST_Y_X,index=TG_LIST_Index)     #   columns为默认值，即从0开始‘
print("df4=\n",df4)
df5 = pandas.DataFrame(TG_LIST_Y_X,columns=TG_LIST_Columns,index=TG_LIST_Index) #   全部设置为自定义的数值
print("df5=\n",df5)

#   上方为向pandas.DataFrame传入一个（嵌套）列表。
#----------
#   下方为向pandas.DataFrame传入一个字典。
#   dict - key:value
#   每个字典成员代表了一列，dict-key就相当于索引(index)。
TG_DICT = {"小写":["a","b","c","d"],"大写":["A","B","C","D"],"tiehan":["w","h","hanhan","debu"]}
#   注意：以dict的形式传入时，dict-value的值一定要长度一致。
df6 = pandas.DataFrame(TG_DICT)
print("df6=\n",df6)

#   同样当往pandas.DataFrame中传入Dict数据时，我们也可以输入自定义的index。
TG_DICT_index = ["c0","c1","d0","d1"]
df7 = pandas.DataFrame(TG_DICT,index=TG_DICT_index)
print("df7=\n",df7)
print("df7.columns=",df7.columns)       #获取df7的列索引
print("df7.index=",df7.index)           #获取df7的行索引

#   关于具体获取DataFrame中的某些行或列，将在后续的demo中出现。